home *** CD-ROM | disk | FTP | other *** search
- /****************************************/
-
- /* IsControlStrip.c */
- /* Author: Shemin Gau, IP */
- /* Revision History: 03/15/94 */
-
- /****************************************/
-
-
- #include <Resources.h>
- #include <Types.h>
- #include <Files.h>
- #include <String.h>
- #include <Memory.h>
- #include <Packages.h>
- #include <GestaltEqu.h>
- #include <CType.h>
- #include <OSUtils.h>
- #include <ToolUtils.h>
- #include <Errors.h>
-
-
-
- /* gestalt selector */
- #define gestaltStatusBarAttr 'sdev'
- #define gestaltStatusBarExists 0
-
-
- /* function prototype */
- Boolean ControlStripIsVisible();
- pascal Boolean SBIsStatusBarVisible()
- = {0x7000,0xAAF2};
- OSErr SetContextResult(void* theData, Size theSize, Ptr* outMessage, Size* outSize);
-
-
- pascal OSErr main(char msg, Size inSize, void* outMessage, Size* outSize, Handle ignoreMe)
- {
- OSErr myErr = noErr;
- Boolean result = false;
-
-
- if (ControlStripIsVisible()) {
- result = true;
- }
- myErr = SetContextResult(&result, sizeof(Boolean), outMessage, outSize);
- return(myErr);
- }
-
-
- Boolean ControlStripIsVisible()
- {
- long attributes;
-
- if ((Gestalt(gestaltStatusBarAttr, &attributes) == noErr) && (attributes & (1<<gestaltStatusBarExists)) &&
- SBIsStatusBarVisible())
- return (true);
- else
- return (false);
- }
-
-
- OSErr SetContextResult(void* theData, Size theSize, Ptr* outMessage, Size* outSize)
- {
- Ptr p;
-
- if (p = NewPtr(theSize)) {
- BlockMove(theData, p, theSize);
-
- *outSize = theSize;
- *outMessage = p;
-
- return(noErr);
- } else {
- return(MemError());
- }
- }
-